Integrated circuit and optical circuit design are accomplished using specialized software programs and data standards that allow designers to visually interact with various phases of an ongoing circuit design project. In some cases, the software can then intelligently manipulate the design further, either in tandem with the designer or in subsequent design phases, according to industry design standards and predetermined design compliance rules. However, existing software applications may have shortcomings when it comes to designing hybrid circuits containing both electrical and photonic components. Thus, as photonics grows in popularity, there is a need for better integrated Electronic Design Automation (EDA) and Photonic Design Automation (PDA), sometimes referred to as Electronic/Photonic Design Automation (EPDA).
As explained below, existing solutions are often inadequate for handling the generation and display of ports, facets, and other components related to waveguides in, a layout interface for an electronic circuit design. What is needed is a more integrated way of managing and generating display data relating to port connections for waveguides, in design software that is compatible with hybrid circuit designs in which electrical design and photonics design concepts are used to design a circuit comprising both electrical and photonics circuit components.
As mentioned previously, the PDA design software usually does not represent databases with hierarchy. Most PDA layout editors have a programming language-based approach to building the layout design. Although these scripting or programming languages may have an inherent procedural hierarchy (e.g., Java classes), the scripting languages do not have a hierarchical approach to the design itself. As a result, PDA software frequently does not need or require a design step where only the ports are displayed on the display layout GUI. In operation, PDA design software typically generates and presents on a layout GUI the waveguide polygons, thereby defining the facets of the waveguide polygons. As a result, PDA methodology traditionally do not use or require the concept of an independent port, existing alone without a waveguide. In other words, PDA design software products are frequently unable to represent the hierarchical structures of the EDA designs, and do not require an explicit definition of “outside” and “inside” for the features. Thus, the solutions of PDA design software are not a total solution.
What is needed is a means for representing certain objects in hybrid circuit designs, such as optical ports, on an interactive design interface in way that is useful and comprehensible to a user (e.g., circuit designer, chip designer), but does not disrupt the underlying logical relationships between database objects. What is needed, then, are software and hardware computing components capable of generating, storing, querying, and updating data attributes for objects in a design database in a way that conventional EDA and PDA tools have not implemented. Correspondingly, what is also needed are software and hardware computing components capable of generating an interactive display for various hierarchical levels of a design using the data stored in the design database, where the interactive display and underlying computing components can query and manipulate the data in the design database, and thus generates an interactive display for a more fully-integrated EDPA software tool.